using System;
using System.Collections;
using System.Collections.Generic;
using Me.Prettyprint.Hector.Api.Beans;

namespace Me.Prettyprint.Hector.Api.Query
{
    /// <summary>
    /// A query for the call get_range_slices on subcolumns of a supercolumns.
    /// </summary>
    /// <typeparam name="K"></typeparam>
    /// <typeparam name="SN"></typeparam>
    /// <typeparam name="N"></typeparam>
	public interface RangeSubSlicesCounterQuery<K, SN, N> : Query<OrderedCounterRows< K, N>>
	{
        RangeSubSlicesCounterQuery<K, SN, N> SetKeys(K start, K end);
        RangeSubSlicesCounterQuery<K, SN, N> SetRowCount(int rowCount);
        RangeSubSlicesCounterQuery<K, SN, N> SetSuperColumn(SN superColumn);
        RangeSubSlicesCounterQuery<K, SN, N> SetColumnNames(List<N> columnNames);
        RangeSubSlicesCounterQuery<K, SN, N> SetRange(N start, N finish, bool reversed, int count);
        RangeSubSlicesCounterQuery<K, SN, N> SetColumnFamily(string cf);
        List<N> ColumnNames
        {
            get;
        }
	}
}